﻿import com.dinmax.labonline.*
class Usuario {
	private var id:Number;
	private var apellido:String;
	private var nombre:String;
	private var direccion:String;
	private var fechaAlta:String;
	private var fechaUltimoLogin:String;	
	private var albums:Array=new Array(); // array de Album
	
	function Usuario(){
	}
	
	
	public function setDireccion(_direccion:String):Void {
		this.direccion=_direccion;
	}
	
	public function getDireccion():String {
		return direccion;
	}
	
	public function getFechaAlta():String {
		return fechaAlta;
	}

	public function getFechaUltimoLogin():String {
		return fechaUltimoLogin;
	}
	
	public function setFechaUltimoLogin(_fecha:String):Void {
		fechaUltimoLogin=_fecha;
	}

	public function setFechaAlta(_fecha:String):Void {
		fechaAlta=_fecha;
	}	
	
	public function getId ():Number{
		return id;
	}
	public function setId ( _id:Number){
		id=_id;
	}
	
	public function getApellido ():String{
		return apellido;
	}
	public function setApellido ( _apellido:String){
		apellido=_apellido;
	}
	
	public function getNombre ():String{
		return nombre;
	}
	public function setNombre ( _nombre:String){
		nombre=_nombre;
	}
	
	public function getAlbums ():Array{
		return albums;
	}
	public function addAlbum ( _album:Album){
		albums.push(_album);
	}
	
	
	public function removeAlbum(_album:Album) {
		for (var i:Number=0;i<albums.length;i++) {
			
			var tmp:Album=albums[i];
			if (tmp.getId()==_album.getId()) {
				albums.splice(i,1);
				return;
			}
			
			
		}
		
	}

	public function removeFoto(id:Number):Foto {
		for (var i:Number=0;i<albums.length;i++) {
			var album:Album=albums[i];
			var fotos:Array=album.getFotos();
			for (var o:Number=0;o<fotos.length;o++) { 
			var foto:Foto=fotos[o];
			if (foto.getId()==id) {
				fotos.splice(o,1);
				return foto;
			}			
			}
			
		}
		return undefined;
	}
	
	public function findFoto(id:Number):Foto {
		for (var i:Number=0;i<albums.length;i++) {
			var album:Album=albums[i];
			var fotos:Array=album.getFotos();
			for (var o:Number=0;o<fotos.length;o++) { 
			var foto:Foto=fotos[o];
			if (foto.getId()==id) {
				return foto;
			}			
			}
			
		}
		return undefined;
	}
	
	public function findAlbum(id:Number):Album {
		for (var i:Number=0;i<albums.length;i++) {
			var album:Album=albums[i];
			if (album.getId()==id) {
				return album;
			}			
		}					
		return undefined;
	}
	
	public function addOrReplace(_album:Album) {
		for (var i:Number=0;i<albums.length;i++) {
			
			var tmp:Album=albums[i];
			if (tmp.getId()==_album.getId()) {
				albums.pop(i);
				_album.setFotos(tmp.getFotos());
				albums.push(_album);
				return;
			}
			
			
		}
		albums.push(_album);
	}
	
	
	
	public function refrescar(){
	}
}